package com.hf.wujian.dispatch;

import com.hf.wujian.model.GameHall;
import com.hf.wujian.model.GameUser;
import com.hf.wujian.netty.NettyMsg;
import io.netty.channel.ChannelHandlerContext;

/**
 * 命令调度接口
 *
 * 每一个调度接口的实现类注解了命令常量以后
 * 服务器会根据命令常量获取对应实现类的class反射一个新对象
 * 然后在线程中执行实现类的调度方法
 *
 * @author hf
 * @date 2018/11/23
 * @version 1.0
 */
public interface BSHDispatch{

    /**
     * 调度方法
     * @param ctx 客户端通道
     * @param nettyMsg 客户端消息
     * @param gameHall 游戏大厅
     * @param gameUser 游戏用户
     */
    void dispatch(ChannelHandlerContext ctx, NettyMsg nettyMsg, GameHall gameHall, GameUser gameUser);
}
